机器学习在互联网巨头公司实践
本届RSA出现少有的中国面孔,来自中国阿里安全的高级算法工程师Tao Zhou在RSA会议上以“互联网巨头公司在安全数据分析中面临的挑战”作为引子展开了如何在海量大数据背景下运用统计学习方法进行入侵检测的演讲,给出了很多建设性的看法。
TaoZhou首先指出在安全攻防当中,防守方最大的优势正在于各种各样的海量数据
但是数据本身就是一把双刃剑,海量的数据如何真正被有效的运维起来正是大数据背景下普遍的困扰
海量数据的处理远远超过人的处理能力,这个时候就需要计算机通过各种算法模型来帮助人类完成这些工作,而目前主流的模型主要有机器学习(Machine Learning)和统计建模(Statistical Modeling)。
TaoZhou指出机器学习和统计建模的主要区别在于机器学习主要依赖用于训练的数据(最好是打好标签数据)以及学习算法,而统计建模则主要依赖建模者对数据特征了解
单纯的机器学习应用在入侵检测的时候会有很多问题,因为机器学习很擅长发现“普通模式”,但入侵数据则是“异常行为”;另外,如果要进行监督学习,机器学习算法需要打好标签的数据,我们并不一定能够轻易获取大量的标签数据,如果采用非监督学习,目前几乎所有的非监督算法的准确率(accuracy)和查全率(recall)都不足以支撑安全运维的需求。最后,机器学习最为重大的一个缺点在于,机器学习算法通过数据训练构建起来的分类模型往往过于复杂,几乎是不可解释的,单纯输出“是与否”这样的结果对于安全需求来说是不够的。
所以,现在利用机器学习进行入侵检测时,一般都要限定一个特定的场景,特别是那些容易获得标签数据的场景,比如垃圾邮件检测、DGA域名检测,Web爬虫检测等
Tao Zhou进一步说明利用统计建模方法进行入侵数据分析的一般流程。首先,他指出,在入侵检测当中,有效的攻击往往都会持续一个较长的过程,一般会跨越较大的时间周期,具有多个阶段性的特征,包括多个攻击节点
安全数据分析主要包括3个阶段:
数据预处理阶段
移除“正常数据”的干扰
攻击模型构建
构建能够识别恶意可疑行为的攻击模型
告警相关度评估
根据风险程度将告警进行优先级排序
在数据预处理阶段,需要找出并且过滤掉那些重复出现的占比最高的正常行为数据,这个阶段查全率(recall)是最重要的指标,即强调对正常的数据的识别能力,尽可能筛除掉所有高占比的正常数据。
在攻击建模阶段,对处理好的数据按照攻击行为来进行模型构建,同一种攻击往往具有共同的特征,从剩下的异常行为数据中获取最符合攻击行为的特征,这个阶段precision是最重要的指标,强调模型对异常攻击模式判断的准确性
攻击链模型是对入侵检测进行阶段性建模的极佳方案
尽管统计建模相较于单纯使用机器学习具有很多的优势,但统计建模也有它自身的缺陷,统计建模过程中一个重要的原则称之为奥卡姆剃刀原则,简单来说就是如果没有必要,尽可能不在构建的统计模型中添加更多的参数。这使得统计建模往往具有泛化能力较差的问题;此外,在入侵检测的一些场景中,也会对模型造成干扰,Tao Zhou举了一些例子说明这一情况
针对这一缺陷Tao Zhou提出了优化方案,即通过构建攻击有向图的方式来进行后验式的事件风险评估,基于事件风险程度和可信程度,将事件进行优先级的排序,风险的量化主要从攻击所处的阶段;资产的网络分布情况以及事件告警的准确性风险性来评估
经过以上三个阶段的处理,就可以解决在大数据背景下安全分析的可运维问题,将海量的告警数据缩减到可运维的量级
小结
机器学习在安全入侵数据分析当中,往往需要对分析结果进行一定程度的解释,而依赖训练数据构建的传统的机器学习算法往往是一个“黑盒”模型,不具备可解释性。因此众多学者开始在可解释AI(explainable AI,XAI)领域进行研究,无论是利用统计建模(statistical Modeling)的方法,比如在本届RSA中频繁被提到的主题建模(Topic Model),还是利用知识图谱(语义网络)技术,比如IBM公司的Watson,都是为了更好地输出可解释的分析结果。如今包括机器学习在内的人工智能技术已经广泛运用在安全领域的许多场景当中,如何不断提出优化的方案和改善实际运用过程中存在的隐患和问题将会是一个长期的研究课题。
绿盟科技威胁建模的相关研究团队目前也正在基于本体建模的方式,参考国际常用的CAPEC、STIX等结构或标准构建包括威胁主体、攻击模式、目标客体等十多个威胁本体库的威胁知识图谱。知识图谱从多种结构化和非结构化的数据源获取知识进行扩充,为安全威胁事件的理解提供上下文语义的扩充,呈现更加详尽的安全态势场景,并支撑基于威胁知识的推理,实现攻击组织的聚合及画像等应用。
作者:
绿盟科技 研究员 王津
绿盟科技资深架构师 肖岩军